Make gtk_widget_get_state() only handle GtkStateType values available in 2.x
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 25 Jan 2011 12:30:24 +0000 (13:30 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 25 Jan 2011 12:36:13 +0000 (13:36 +0100)
GtkStateType was generally used as an index in GtkStyle color arrays, so
bigger values will cause invalid memory accesses in widgets that are still
doing that. this was seen in focused GtkIconViews for example

gtk/gtkwidget.c

index 11338a22ebf69f051e452bf0c0e7ce3c48be96e0..9ce1c8cdb229bd53d3f2aea57bddbc05f2754ecc 100644 (file)
@@ -7154,14 +7154,10 @@ gtk_widget_get_state (GtkWidget *widget)
 
   if (flags & GTK_STATE_FLAG_INSENSITIVE)
     return GTK_STATE_INSENSITIVE;
-  else if (flags & GTK_STATE_FLAG_INCONSISTENT)
-    return GTK_STATE_INCONSISTENT;
   else if (flags & GTK_STATE_FLAG_ACTIVE)
     return GTK_STATE_ACTIVE;
   else if (flags & GTK_STATE_FLAG_SELECTED)
     return GTK_STATE_SELECTED;
-  else if (flags & GTK_STATE_FLAG_FOCUSED)
-    return GTK_STATE_FOCUSED;
   else if (flags & GTK_STATE_FLAG_PRELIGHT)
     return GTK_STATE_PRELIGHT;
   else